#pragma once

#include "packet.h"

class packet_filter
{
	public:
		packet_filter(void);
		virtual ~packet_filter(void);
		virtual int process( packet *p ) = 0;
		int forward( packet *p ) { return next->process( p ); }
		packet_filter *chain( packet_filter *_next ) { next = _next; return this; }

	protected:
		packet_filter( char *name );
		packet_filter *next;
		char name[64];
};

